什么是 "临界"

来源:百度知道 编辑:UC知道 时间:2024/05/02 18:41:31
什么是 "临界"

临界是指由某一种状态或物理量转变为另一种状态或物理量的最低转化条件;或者由一种状态或物理量转变为另一种状态或物理量。
  压力
  critical pressure
  物质处于临界状态时的压力(压强)。就是在临界温度时使气体液化所需要的最小压力。也就是液体在临界温度时的饱和蒸气压。
  各种物质的临界压力(压强)不同,如氧是4.87兆帕(49.7公斤力/厘米2),氨是11兆帕(112.2公斤力/厘米2),氯是7.46兆帕(76.1公斤力/厘米2)等。

  区
  不论是硬件临界资源,还是软件临界资源,多个进程必须互斥地对它进行访问。每个进程中访问临界资源的那段代码称为临界区(Critical Section)(临界资源是一次仅允许一个进程使用的共享资源)。每次只准许一个进程进入临界区,进入后不允许其他进程进入。
  多个进程中涉及到同一个临界资源的临界区称为相关临界区。
  程序调度法则
  进程进入临界区的调度原则是:
  1、如果有若干进程要求进入空闲的临界区,一次仅允许一个进程进入。
  2、任何时候,处于临界区内的进程不可多于一个。如已有进程进入自己的临界区,则其它所有试图进入临界区的进程必须等待。
  3、进入临界区的进程要在有限时间内退出,以便其它进程能及时进入自己的临界区。
  4、如果进程不能进入自己的临界区,则应让出CPU,避免进程出现“忙等”现象。
  线程同步问题 如果有多个线程试图同时访问临界区,那么在有一个线程进入后其他所有试图访问此临界区的线程将被挂起,并一直持续到进入临界区的线程离开。临界区在被释放后,其他线程可以继续抢占,并以此达到用原子方式操作共享资源的目的。
  临界区在使用时以CRITICAL_SECTION结构对象保护共享资源,并分别用EnterCriticalSection()和LeaveCriticalSection()函数去标识和释放一个临界区。所用到的CRITICAL_SECTION结构对象必须经过InitializeCriticalSection()的初始化后才能使用,而且必须确保所有线程中的任何试图访问此共享资源的代码都处在此临界区的保护之下。否